package com.java.design;

/**
 * @Author hyx
 * @Description TODO
 * @Date 2024/3/9 22:24
 * @Version 1.0
 */
public class AdapterModeObject {
    public static void main(String[] args) {
        Source source = new Source();
        Targetable targetable = new AdapterObject(source);
        targetable.method1();
        targetable.method2();
    }
}
/**
 * 对象适配器： 1.定义一个接口 2.定义一个类1（不实现接口），类实现了接口中的一个方法 3.定义一个类，其中一个数据成员是类1对象，由构造器初始化
 *
 * @author Administrator
 *
 */
class AdapterObject implements Targetable {

    private Source source = null;

    public AdapterObject(Source source) {
        this.source = source;
    }

    public void method1() {
        // 直接调用对象method1中的方法
        source.method1();
    }

    /**
     * 接口中的方法method1已经由Source类进行了实现
     */
    public void method2() {
        System.out.println("这个是Adapter类实现接口的方法method2()");
    }
}